package main

import (
    "strings"
)
// 题目 类型：字符串处理
// 给定一个字符串，请你找出其中不含有重复字符的 最长子串 的长度。
func lengthOfLongestSubstring(s string) int {
    var length int 
    var tmp string

    for i := 0;i < len(s); i++ {
        tmp += string(s[i])
        for j:=i+1; j<len(s);j++{
             if false == strings.Contains(tmp, string(s[j])){
                tmp+=string(s[j])
            }else{
                break
            }
        }
        if length < len(tmp){
            length=len(tmp)   
        }
        tmp="" 
    }
    return length
}


// 笔记
// go 语言中，没有字符这一个含义 ,所有的字符是存在于 byte 中，而超过 8 的形式，需要转变成 切片形式处理；
// https://www.jianshu.com/p/61dc40f5090d
// 所以 s[0 ] 获取的byte 类型值；
// go中的字符是存放在 8位 ascii 中的，如果不是8 位字符，需要特殊处理